package com.longshen.dubbo.api.service;

import java.util.List;

import com.github.pagehelper.Page;
import com.longshen.dubbo.api.model.AdminRole;
import com.longshen.dubbo.api.model.AdminRoleMenu;
import com.longshen.dubbo.api.model.AdminTrade;

/**
 * 
 * @ClassName:  AdminRoleService   
 * @Description:用户服务   
 * @author: longshen
 * @date:   2019年10月16日 下午10:27:17
 */
public interface AdminRoleService {
	
    /**
     * 
     * @Title: add   
     * @Description: 添加角色   
     * @param in 
     * @return: AdminRole      
     * @throws
     */
	public AdminRole add(AdminRole in, List<String> menus);
	
	/**
	 * 
	 * @Title: mod   
	 * @Description: 修改角色
	 * @param in
	 * @param menus      
	 * @return: void      
	 * @throws
	 */
	public void   mod(AdminRole in,List<String> menus);
	
	/**
	 * 
	 * @Title: del   
	 * @Description: 删除角色 
	 * @param in      
	 * @return: void      
	 * @throws
	 */
	public void delById(String id);
	/**
	 * 
	 * @Title: queryPage   
	 * @Description:    
	 * @param pagesize
	 * @param pagenum
	 * @param rolename
	 * @return      
	 * @return: Page<AdminUser>      
	 * @throws
	 */
	public Page<AdminRole> queryPage(Integer pagesize,Integer pagenum,String rolename);
	
	/**
	 * 
	 * @Title: roleMenus   
	 * @Description:通过角色编号 查询菜单权限   
	 * @param id
	 * @return      
	 * @return: List<String>      
	 * @throws
	 */
   public List<AdminRoleMenu>  roleMenus(String id);
   /**
    * 
    * @Title: queryById   
    * @Description: 查询角色
    * @param id
    * @return      
    * @return: AdminRole      
    * @throws
    */
   public AdminRole queryById(String id);
   
   /**
    * 
    * @Title: all   
    * @Description: 查询索引角色 
    * @return      
    * @return: List<AdminRole>      
    * @throws
    */
   public List<AdminRole> all();
   
   /**
    * 
    * @Title: ownTreade   
    * @Description:查询角色拥有的交易权限  
    * @param roleId
    * @return      
    * @return: List<AdminTrade>      
    * @throws
    */
   public List<AdminTrade> ownTreade(String roleId);
   
   /**
    * 
    * @Title: UnOwnTreade   
    * @Description: 查询角色未拥有的权限 
    * @param roleId
    * @return      
    * @return: List<AdminTrade>      
    * @throws
    */
   public List<AdminTrade> UnOwnTreade(String roleId);
   
   
   

	
}
